This invention relates to a method and apparatus for communication with a programmable logic device using both amplitude and phase modulation.
A field programmable gate array (FPGA) available from Xilinx Inc. of San Jose, Calif., includes multiple delay-locked loops (DLLs). One such DLL is., for example, usable to provide low clock skew between a clock signal output from the FPGA and a clock signal internal to the FPGA. The FPGA is, however, configurable so that a user can use the DLL for other purposes. For additional information on a Xilinx FPGA and its DLLs, see: 1) U.S. patent application Ser. No. 09/482,741 entitled xe2x80x9cDeskewing Clock Signals For Off-Chip Devicesxe2x80x9d, by Bapat et al., filed Jan. 13, 2000; and 2) XAPP 132, xe2x80x9cUsing the Virtex Delay-Locked Loopxe2x80x9d, v.2.2, pages 1-15 (May 23, 2000), both of which documents are incorporated herein by reference.
An FPGA of the type described above generally interacts with external circuitry by sending signals to the external circuitry from input/output (I/O) terminals of the FPGA and/or by receiving signals from external circuitry via I/O terminals of the FPGA. The term xe2x80x9cFPGAxe2x80x9d as it is used here denotes an FPGA integrated circuit housed in an integrated circuit package. Accordingly, each signal passing onto or from the FPGA integrated circuit passes through an I/O terminal of the package. Over time, there has been an increase in the size and complexity of FPGA integrated circuits, but there has not been a commensurate increase in the number of I/O terminals available on standard packages. Consequently, the functionality of user-specific designs realized using such FPGAs is sometimes xe2x80x9cI/O constrainedxe2x80x9d. The FPGA integrated circuit can be designed to have the desired I/O resources, but the packages available for containing the FPGA integrated circuit have a restrictively small number of I/O terminals available. Not only are today""s user-specific designs often xe2x80x9cI/O constrainedxe2x80x9d in this way, but the divergence between the I/O capability of the FPGA integrated circuit and the I/O capability of the package is likely to widen in the future. A solution is desired.
A programmable logic device (for example, a field programmable gate array) makes better use of its I/O terminals (for example, its package pins) by both amplitude and phase encoding information into a single DATA signal. This single DATA signal can be transmitted from or received onto the FPGA via just one I/O terminal, as opposed to many I/O terminals. In one specific example, information is encoded into four different voltage levels and four different phases. An amplitude/phase encoder is described that includes a delay line in a delay-locked loop, as well as two other delay lines that are slaved to the delay line of the delay-locked loop. The slaved delay lines are used to phase encode the information into the DATA signal. An amplitude/phase decoder is also described that includes a delay line in a delay-locked loop, as well as two other delay lines that are slaved to the delay line of the delay-locked loop. The slaved delay lines are used to decode the phase information from the DATA signal. A coding scheme is employed to ensure that an amplitude change occurs in the data such that the decoder can properly detect encoded phase information.
Other embodiments are described in the detailed description below. This summary does not purport to define the invention. The invention is defined by the claims.